草庐IT

HA 模式

全部标签

php - preg_replace 一次替换多个模式

我的$subject几乎没有可应用的替换,但我不想让旧替换#(1..i-1)的输出与当前替换#i匹配。$subject1=preg_replace($pat0,$rep0,$subject0);$subject2=preg_replace($pat1,$rep1,$subject1);$subject3=preg_replace($pat2,$rep2,$subject2);我尝试使用一个带有数组的preg_replace来进行模式和替换,希望它能立即完成;但事实证明它只不过是连续调用简单的preg_replace(当然有一些优化)在我阅读了有关preg_replace_callbac

php 5.3.6 破坏了我的正则表达式模式

奇怪的事情发生了,当我正在工作的网站被转移到另一个装有较新版本PHP的服务器上时。在其他3个不同服务器上正常工作的正则表达式拒绝工作,一直返回0。这是原始的正则表达式:/\A(?P[[:alpha:]]{4})[[:space:]](?P[\p{L}\p{N}]{3,})[[:space:]](?P[[:digit:]]{2,4})[[:space:]](?P[[:digit:]]{1,2})\z/u密码必须是unicode,在它只是[[:alnum:]]之前,但客户端存在一些问题。这些是我尝试过但无济于事的:/\A(?[[:alpha:]]{4})(?[[:alnum:]]{3,})

php - PHP 中的正则表达式 (preg_match) 模式

我创建了一个在Dreamweaver的正则表达式查找中工作的正则表达式模式,但是当放入preg_match的模式时,它失败了。我在PHP(5.1.6)正则表达式规则中违反了什么,否则这些规则在Dreamweaver的解释中有效?这是PHP:preg_match("/(\{a\})([a-zA-Z0-9{}.])+(\{/a\})/i","{a}{900678}{abcde}{0}{0}{0}{/a}");当前返回false。我如何修改模式,使其匹配任何以{a}anythinggoesinthemiddle{/a}类型字符串开头的字符串?我意识到上面的正则表达式不会匹配中间的“任何东西”

php - PCRE:使用 PHP 捕获可选模式

我有一个字符串,我需要从中捕获一个或两个子字符串(使用PHP):第一个是必填项第二个是可选的第一个和第二个被不知名的垃圾隔开第二个可能会也可能不会跟着更多我不关心的垃圾我无法让我的模式捕获第二个模式,除非我在模式字符串中强制要求它。当主题中只有第一个模式可用时,这会使模式失败。我被难住了。这不应该那么难。这是我从上面得到的:Array([0]=>pattern111[1]=>pattern111[2]=>)似乎归结为我如何使{0,1}(即模式中最后的?运算符)更加贪婪(具有讽刺意味的是,作为量词修饰符,它的作用恰恰相反) 最佳答案

php - 什么正则表达式模式是正确的只允许双重类型?

我有以下带有zend框架的代码:$descuentoElement->addValidator(newZend_Validate_Regex(array('pattern'=>'/[0-9]+(.[0-9]+)?/')));我想验证双类型输入,例如1.2或4...不是“4sd”,而是这种模式不能正常工作...它允许写入“4s”...是否有任何答案或正确的正则表达式它的模式......我想要一个建议......谢谢...... 最佳答案 如果您要匹配整行,@Joey的答案将有效,但您需要使用类似的东西/[^0-9][0-9]+(\.[

PHP strpos 匹配查询字符串文本模式

仅当$_GET['page']参数包含文本“mytext-”时,我才需要执行一些脚本查询字符串是:admin.php?page=mytext-option这将返回0:$myPage=$_GET['page'];$match=strpos($myPage,'mytext-');echo$match; 最佳答案 strpos返回字符串的位置。因为它是0,这意味着它是在位置0处找到的,也就是说,在字符串的开头。为了便于理解它是否存在,请将bool值===添加到if语句中,如下所示:这会让您知道字符串是否存在。或者,如果您只需要知道它是否存

php - 写入模式下 fopen 的文件权限 - PHP

我有一个将一些行写入CSV文件的PHP脚本:$fp=fopen($csv,'w');我正在使用“w”模式,这样它会在文件不存在时创建该文件,但是该文件会自动获得644权限,即使我为整个/var分配了777/www/html/目录(不是一个好主意但适合测试)。如何写入文件并预先授予权限?或者是否有更好的方法来授予写入权限? 最佳答案 预先创建文件并设置权限:touch('/file/path/here');chmod('/file/path/here',0775);fopen('/file/path/here','w');但是,这应该

php - 匹配文件名第一部分的全局模式

在一个目录中,我有像123X1.jpg、23X1.jpg、23X2.jpg、4123X1.jpg这样的文件名。我需要glob模式来仅获取以所需字符串开头的列出文件。例如:'23X'->23X1.jpg,23X2.jpg'123X'->123X1.jpg模式的最后一部分始终是X。第一个是数字。 最佳答案 glob()很简单:print_r(glob('/path/to/23X*.jpg'));print_r(glob('/path/to/123X*.jpg')); 关于php-匹配文件名第

php - 这个隐藏输入的正确模式是什么

我有这个字段由curl_exec返回:150000是一个随机数,可能会变,其他都是常量我试过:preg_match('//',$result,$number)还有:preg_match('//ims',$result,$number)但是没有运气......完整代码如下:$result=curl_exec($cid);curl_close($cid);$number=array();if(preg_match('REGEX',$result,$number)){echo$number[1];}编辑1:抱歉,我在echo$number[1]中忘记了[1];另外1500000是一个随机数,

php - 我在我的项目中使用 PHP 的工作单元设计模式

我正在从事一个使用工作单元设计模式的项目。它包括Storage,EntityCollection,.....代码工作单元包括PDOAdapter代码文件。但是适配器对于运行查询来说并不完整。我从某个地方找到了这些文件。我无法构建我想要的查询。每次我编写代码时,我都会遇到许多与查询相关的问题。那么你能帮我让它更灵活吗...例如我想像这样运行:$db->select()->where('id>:id')->andWhere('')->orWHere()->orderBy()->groupBy()->having()->fetch()/fetchOne();或类似的。config=compa